// samsting : this file is auto create.

#ifndef ALIYUN_Ram_GetAccountSummaryResponse_H_
#define ALIYUN_Ram_GetAccountSummaryResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Ram {

class GetAccountSummaryResponse : public AcsResponse {
public:
  GetAccountSummaryResponse();

  class SummaryMap {
    friend class GetAccountSummaryResponse;
  public:
    int  GetUsersQuota(void) const;
    int  GetUsers(void) const;
    int  GetAccessKeysPerUserQuota(void) const;
    int  GetVirtualMFADevicesQuota(void) const;
    int  GetMFADevices(void) const;
    int  GetMFADevicesInUse(void) const;
    int  GetGroupsQuota(void) const;
    int  GetGroups(void) const;
    int  GetGroupsPerUserQuota(void) const;
    int  GetRolesQuota(void) const;
    int  GetRoles(void) const;
    int  GetPoliciesQuota(void) const;
    int  GetPolicies(void) const;
    int  GetPolicySizeQuota(void) const;
    int  GetVersionsPerPolicyQuota(void) const;
    int  GetAttachedPoliciesPerUserQuota(void) const;
    int  GetAttachedPoliciesPerGroupQuota(void) const;
    int  GetAttachedPoliciesPerRoleQuota(void) const;
  private:
    int    UsersQuota_;
    int    Users_;
    int    AccessKeysPerUserQuota_;
    int    VirtualMFADevicesQuota_;
    int    MFADevices_;
    int    MFADevicesInUse_;
    int    GroupsQuota_;
    int    Groups_;
    int    GroupsPerUserQuota_;
    int    RolesQuota_;
    int    Roles_;
    int    PoliciesQuota_;
    int    Policies_;
    int    PolicySizeQuota_;
    int    VersionsPerPolicyQuota_;
    int    AttachedPoliciesPerUserQuota_;
    int    AttachedPoliciesPerGroupQuota_;
    int    AttachedPoliciesPerRoleQuota_;
  }; // SummaryMap 

  const SummaryMap& GetSummaryMap(void) const;

private:
  SummaryMap SummaryMap_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Ram {

#endif // #ifndef ALIYUN_Ram_GetAccountSummaryResponse_H_

// end of file 
